/**
 * =========================================
 *
 * Cookie
 *
 *      koa中设置cookie的值
 *          ctx.cookies.set(name, value, [options])
 *      参数：
 *          maxAge:     一个数字表示从 Date.now() 得到的毫秒数
 *
 *          expires:    cookie过期的Date
 *
 *          path:       cookie路径，默认是'/'
 *
 *          domain:     cookie域名
 *
 *          secure:     安全cookie 默认 false, true表示只有https可以访问
 *
 *          httpOnly:   是否只是服务器可以访问cookie, 默认true
 *
 *          overwrite:  布尔值，表示是否覆盖以前设置的同名cookie(默认false)
 *                      如果true, 在同一个请求中设置相同的cookie（不管路径或域）
 *                      是否在设置此cookie时从set-cookie标头过滤掉。
 *
 * =========================================
 */
const Koa = require('koa');
const router = require('koa-router')();
const render = require('koa-art-template');
const path = require('path');

const app = new Koa();

// 配置 koa-art-template模板引擎
render(app, {
    root: path.join(__dirname, 'view'),  // 视图位置
    extname: '.html',    // 后缀名
    debug: process.env.NODE_ENV !== 'production'  // 是否开启调试模式
    // debug: true / false
});


/**
 * ========================================
 *
 * Koa 中设置中文Cookie
 *      console.log(new Buffer('张三').toString('base64')); // 转base64字符串
 *      console.log(new Buffer('aGVsbG8sIHdvcmxkIQ==', 'base64').toString()); // 还原base64字符串
 *
 * ========================================
 */
router.get('/', async (ctx) => {

    ctx.cookies.set('userinfo', 'zhangsan', {
        maxAge: 60 * 1000 * 24
    });

    ctx.body = '首页';
});

router.get('/news', async (ctx) => {

    let userinfo = ctx.cookies.get('userinfo');
    ctx.body = 'cookie: ' + userinfo;
});


app.use(router.routes());
app.use(router.allowedMethods());


app.listen(8088);
console.log('Server run http://localhost:8088/');